The present invention generally relates to a multiprocessor system, and particularly to a multiprocessor system having a plurality of scalar units and a single vector unit which selectively executes vector instructions supplied from the scalar units. More particularly, the present invention relates to a control system which selects vector instructions from the scalar units to be executed in the vector unit.
Conventionally, there is known, as a computer for technological computation, a multiprocessor system having a plurality of scalar units each processing a scalar instruction, and a single vector unit which processes a vector instruction at high speeds. In such a multiprocessor system, a vector instruction is executed in such a way that the right to use the vector unit is selectively assigned the plurality of scalar units. Conventionally, since the vector unit includes pipelines each consisting of a plurality of processing stages, it takes a long time to start executing a vector instruction after the vector instruction is selected.
Therefore, it is desired to switch one scalar unit to another scalar unit, before the execution of a scalar instruction being processed is completed to thereby enhance the efficiency of processing. However, it is impossible to satisfy a variety of needs for multiprocessor systems by simply selecting one of the scalar units before the execution of a scalar instruction is completed. For example, generally, a multiprocessor system records how long the vector unit is exclusively used for each scalar unit, on the basis of a timing with which the scalar unit being selected is switched to another scalar unit. The recorded time is based on accounting. It is understood that accounting is no longer performed accurately in the case where the switching of the connection between the vector unit and one of the scalar units is performed before the execution of a scalar instruction being processed is not completed. Further, there is also a need for efficiently carrying out a computation irrespective of operating time.